const router = require('express').Router();

const Users = require(`./controller/Users`);
const Menus = require(`./controller/Menus`);
const Outlines = require(`./controller/Outlines`);
const Classes = require(`./controller/Classes`);
const Items = require(`./controller/Items`);
const Papers = require(`./controller/Papers`);
const Answers = require(`./controller/Answers`);

/*
基本路由拦截
 */
/*
router.route([
'/users/login'
]).all((req, res, next) => {
//需要登陆后才能访问的路由
next()
if (req.session.logged) {
next()
} else {
res.status(404);
res.send({
error:'请先登陆',
data:null,
});
}
})
 */

function mustLogin(req, res, next) {
	if (req.session.logged) {
		next()
	} else {
		res.status(404);
		res.send({
			error: '请先登陆',
			data: null,
		});
	}
}

/*
用户管理路由
 */
/*
用户管理路由
 */
router.route('/users').get(mustLogin,Users.list); //需登录
router.route('/users/:id(\\d+)').get(mustLogin,Users.one); //需登录
router.route('/users/add').post(mustLogin,Users.add); //需登录
router.route('/users/edit/:id').post(mustLogin,Users.edit); //需登录
router.route('/users/edit/:id').put(mustLogin,Users.edit); //需登录
router.route('/users/del/:id').post(mustLogin,Users.del); //需登录
router.route('/users/del/:id').delete(mustLogin,Users.del); //需登录
router.route('/users/logout').get(Users.logout); //需登录


//router.route('/users/avatar').post(Users.avatar); //需登录
//router.route('/users/resetpassword').post(Users.resetPassword); //需登录


router.route('/users/regist').post(Users.regist); //无需登录
router.route('/users/login').post(Users.login); //无需登录
router.route('/users/exists/:field/:value').get(Users.exists) //无需登录
router.route('/users/islogin').get(Users.isLogin); //无需登录


/*
菜单管理
 */
router.route('/menus').get(mustLogin,Menus.list) //需登录
router.route('/menus/:id(\\d+)').get(mustLogin,Menus.one); //需登录
router.route('/menus/add').post(mustLogin,Menus.add) //需登录
router.route('/menus/edit/:id').post(mustLogin,Menus.edit) //需登录
router.route('/menus/edit/:id').put(mustLogin,Menus.edit) //需登录
router.route('/menus/sort/:id/:dir').put(mustLogin,Menus.sort) //需登录
router.route('/menus/del/:id').delete(mustLogin,Menus.del) //需登录
router.route('/menus/exists/:field/:value').get(mustLogin,Menus.exists) //需登录


/*
大纲管理
 */
router.route('/outlines').get(mustLogin,Outlines.list) //需登录
router.route('/outlines/:id(\\d+)').get(mustLogin,Outlines.one); //需登录
router.route('/outlines/add').post(mustLogin,Outlines.add) //需登录
router.route('/outlines/edit/:id').post(mustLogin,Outlines.edit) //需登录
router.route('/outlines/edit/:id').put(mustLogin,Outlines.edit) //需登录
router.route('/outlines/sort/:id/:dir').put(mustLogin,Outlines.sort) //需登录
router.route('/outlines/del/:id').delete(mustLogin,Outlines.del) //需登录
router.route('/outlines/exists/:field/:value').get(mustLogin,Outlines.exists) //需登录

/*
班级管理
 */
router.route('/classes').get(mustLogin,Classes.list); //需登录
router.route('/classes/:id(\\d+)').get(mustLogin,Classes.one); //需登录
router.route('/classes/add').post(mustLogin,Classes.add); //需登录
router.route('/classes/edit/:id').put(mustLogin,Classes.edit); //需登录
router.route('/classes/del/:id').post(mustLogin,Classes.del); //需登录
router.route('/classes/del/:id').delete(mustLogin,Classes.del); //需登录
router.route('/classes/exists/:field/:value').get(mustLogin,Classes.exists); //需登录

/*
选项管理
 */
router.route('/items').get(mustLogin,Items.list); //需登录
router.route('/items/:id(\\d+)').get(mustLogin,Items.one); //需登录
router.route('/items/add').post(mustLogin,Items.add); //需登录
router.route('/items/edit/:id').put(mustLogin,Items.edit); //需登录
router.route('/items/del/:id').post(mustLogin,Items.del); //需登录
router.route('/items/sort/:id/:dir').put(mustLogin,Items.sort) //需登录
router.route('/items/del/:id').delete(mustLogin,Items.del); //需登录
router.route('/items/exists/:field/:value').get(mustLogin,Items.exists); //需登录
/*
问卷管理papers
 */
router.route('/papers').get(mustLogin,Papers.list); //需登录
router.route('/papers/:id(\\d+)').get(Papers.one); //需登录
router.route('/papers/add').post(mustLogin,Papers.add); //需登录
router.route('/papers/del/:id').delete(mustLogin,Papers.del); //需登录
router.route('/papers/edit/:id').put(mustLogin,Papers.edit); //需登录
router.route('/papers/answer/:id').get(mustLogin,Papers.getAnswerById); //需登录

/*
问卷答案管理
 */
router.route('/answers/add').post(Answers.add); 


module.exports = router;
